﻿namespace Mercury.ParticleEngine
{
    using System;

    /// <summary>
    /// Defines a structure representing contextual information about a trigger.
    /// </summary>
    public struct TriggerContext
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="TriggerContext"/> struct.
        /// </summary>
        /// <param name="totalSeconds">Total elapsed simulation time in whole and fractional
        /// seconds.</param>
        /// <param name="position">The position of the trigger in world space.</param>
        public TriggerContext(Single totalSeconds, Coordinate position)
        {
            TotalSeconds = totalSeconds;
            Position     = position;
        }

        /// <summary>
        /// Gets the total simulation time in whole and fractional seconds.
        /// </summary>
        public readonly Single TotalSeconds;

        /// <summary>
        /// Gets the position of the trigger in world space.
        /// </summary>
        public readonly Coordinate Position;
    }
}